課程資訊
課程名稱
軟體工程設計
Software Engineering Design 
開課學期
108-1 
授課對象
電機資訊學院  資訊工程學研究所  
授課教師
李允中 
課號
CSIE5734 
課程識別碼
922 U0830 
班次
 
學分
3.0 
全/半年
半年 
必/選修
選修 
上課時間
星期四6,7,8(13:20~16:20) 
上課地點
資110 
備註
總人數上限:40人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1081CSIE5734_ 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

本課程以專題式軟體工程教育進行教學,旨在培養學生進行物件導向軟體設計以及軟體工程實務的能力。課程內容涵蓋物件導向軟體設計之概念、軟體設計原則、軟體設計流程以及軟體設計模式。修課學生將於學期初進行分組,各組必須以一個既有的開放原始碼軟體專案作為課程期末專案,並以版本控管系統進行軟體專案相關產出的管理。課程中將要求各組針對給定之軟體需求敘述進行初次設計,再分析此設計是否有潛在的議題,並以課堂上所學到的軟體設計流程進行重構,以導出一個符合軟體設計原則,易擴充的軟體系統。  

課程目標
透過專題式軟體工程教育,提昇學生軟體工程實務能力,並培養學生閱讀軟體設計的能力。 
課程要求
待補 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
待補 
參考書目
1. “Design Patterns: Elements of Reusable Object-Oriented Software,” Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Addison-Wesley Professional.
2. “Head First Design Patterns,” Eric Freeman, Elisabeth Freeman, Kathy Sierra, and Bert Bates, O'Reilly Media.
3. “UML 2.0 in a Nutshell,” Dan Pilone and Neil Pitman, O'Reilly Media.
4. 李允中, 軟體工程, McGraw-Hill, 2009. 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
課堂參與 
30% 
出席、參與討論、小考、每週作業 
2. 
Term project 
30% 
以組為單位,期末發表:2019/12/22、2019/12/26 
3. 
期中考 
15% 
2019/11/21 
4. 
期末考 
25% 
2020/01/09 
 
課程進度
週次
日期
單元主題
第1週
9/12  Syllabus & Software Engineering Practices
 
第2週
9/19  Syllabus & Software Engineering Practices
 
第3週
9/26  Baseline Quiz
 
第4週
10/03  Object-Oriented Concepts and UML
 
第6週
10/17  Basic Design Concepts

 
第7週
10/24  Design Patterns
 
第8週
10/31  Design Patterns
 
第9週
11/07  Design Patterns
 
第10週
11/14  Design Patterns
 
第11週
11/21  Midterm Exam
 
第12週
11/28  Design Patterns
 
第13週
12/05  Design Patterns
 
第14週
12/12  Design Patterns
 
第15週
12/19  Design Patterns
 
第16週
12/22  Term project presentation and demonstration 
第16週
12/26  Term project presentation and demonstration 
第18週
1/9  Final Exam